【任务队列】huey-简介
简介
轻量级异步任务队列
参考:https://github.com/coleifer/huey;https://huey.readthedocs.io/en/latest/
实质
轻量级框架、对task进行排列执行。属于任务自动化框架
功能
- 多进程、多线程任务
- 定期任务执行(类似crontab)
- 延迟任务执行(类似wait)
- 支持检测任务执行失败后自动重新执行
- 可任务结果存储
说明
轻量级
轻量级的判别主要从加载资源、代码侵入性、开发便捷性来区分,属于一个相对性的说明
- 对外部环境依赖小 -- 即使用时可直接调用资源少,需要自己添加所需
- 占用资源小 -- 无法适应体量较大的处理情况
- 部署简单、易操作 -- 功能少
注:
- 代码侵入性:新增代码功能时,需要相应组件作出修改,甚至结构主体发生较大的变动(继承为侵入的,子类强制继承父类方法和格式)
- 耦合性:当上层代码发生修改时,下层的代码需要重构,则为耦合性两个代码中交叉使用部分较多
- 内聚:模块的元素的联系,即不同代码块,在一起执行时可以不起冲突
优秀的代码的组件代码应该满足:降低代码侵入性、高内聚、低耦合
异步
代码的执行不是顺序执行,即非必须一个代码块执行外另一个才能执行。
- 并发:代码存在一个任务队列,可以交叉执行但是在同一时期仅足够一个任务执行
- 并行:存在多个任务队列,可以在同一时期执行多个任务